This invention relates, in general, to logically partitioned computer systems and, in particular, to a logical partition that uses dedicated logical processors of one processor type and shared logical processors of another processor type to service requests.
Many computer hardware machines conforming to the International Business Machines Corporation S/390(copyright) architecture, as described, for example, in the IBM publication Enterprise Systems Architecture/390 Principles of Operation, SA22-7201-04, June 1997, hereby incorporated herein by reference in its entirety, operate in what is known as logically partitioned (LPAR) mode. Logically partitioned computer systems are well known in the art and are described in Guyette et al., U.S. Pat. No. 4,564,903, entitled xe2x80x9cPartitioned Multiprocessor Programming Systemxe2x80x9d, issued on Jan. 14, 1986; Bean et al., U.S. Pat. No. 4,843,541) entitled xe2x80x9cLogical Resource Partitioning Of A Data Processing Systemxe2x80x9d, issued on Jun. 27, 1989; and Kubala, U.S. Pat. No. 5,564,040, entitled xe2x80x9cMethod And Apparatus For Providing A Server Function In A Logically Partitioned Hardware Machinexe2x80x9d, issued on Oct. 8, 1996, each of which is hereby incorporated herein by reference in its entirety.
Commercial embodiments of logically partitioned systems include IBM S/390 processors with the Processor Resource/Systems Manager(trademark) (PR/SM(trademark)) feature and described, for example, in the IBM publication Processor Resource/Systems Manager Planning Guide, GA22-7236-02, October 1997, hereby incorporated herein by reference in its entirety.
Logical partitioning allows the establishment of a plurality of system images within a single physical machine, or central processor complex (CPC). Each system image is capable of operating as if it were a separate computer system. That is, each logical partition can be independently reset, initially loaded with an operating system that may be different for each logical partition, and operate with different software programs using different input/output (I/O) devices. Logical partitioning is in common use today because it provides its users with flexibility to change the number of logical partitions in use and the amount of physical system resources assigned to each partition, in some cases, while the entire central processor complex continues to operate.
A recent addition to the IBM S/390 architecture, usually operating in a logically partitioned environment, is the IBM Parallel Sysplex(trademark) configuration, comprising two or more systems interconnected via a coupling facility to form what is known as a xe2x80x9csysplexxe2x80x9d (for xe2x80x9csystem complexxe2x80x9d). A sysplex configuration may have more than one coupling facility, for example, a backup coupling facility set to take over if a primary coupling facility fails. Each system that is a member of a sysplex may be either a separate hardware machine or a separate logical partition of a particular hardware machine. In a similar manner, each coupling facility in the sysplex may be either a separate hardware machine or a separate logical partition of a particular hardware machine. Each S/390 coupling facility, whether a separate hardware machine or a separate logical partition of a particular hardware machine, is implemented by microcode known as coupling facility control code (CFCC).
In the S/390 Parallel Sysplex Architecture, a system issues a request to a coupling facility using a Send Message (SMSG) instruction. This instruction is executed by a central processor (CP) of the machine on which the system resides; this CP may be a logical CP, if the system resides in a logical partition. The executing CP causes a message command block (MCB) to be sent along a message path to the coupling facility and receives back a message response block (MRB) containing the results of the request. Message communication and other aspects of the operation of an S/390 coupling facility are described in such references as Elko et al., U.S. Pat. No. 5,561,809, entitled xe2x80x9cIn A Multiprocessing System Having A Coupling Facility, Communicating Messages Between The Processors And The Coupling Facility In Either A Synchronous Operation Or An A synchronous Operationxe2x80x9d, issued on Oct. 1, 1996; Elko et al., U.S. Pat. No. 5 706,432, entitled xe2x80x9cMechanism For Receiving Messages At A Coupling Facilityxe2x80x9d, issued on Jan. 6, 1998; and the patents and applications referred to therein, all of which are hereby incorporated herein by reference in their entirety.
SMSG instructions may be executed either synchronously or asynchronously. When executed asynchronously, the SMSG instruction is completed as soon as the request in the form of an MCB is sent off to the target coupling facility. When executed synchronously, on the other hand, the SMSG instruction is not completed until a response in the form of an MRB is received back from the target facility. The handling of synchronous and asynchronous requests in an S/390 Parallel Sysplex environment is described further in the co-pending application of applicant J. P. Kubala et, al., Ser. No. 08/903,285, now U.S. Pat. No. 5,923,890 filed Jul. 30, 1997, hereby incorporated herein by reference in its entirety.
A particular hardware machine or central processing complex has a limited amount of capacity. That is, it can only support a fixed number of central processors. These processors can be used for user workloads, such as OS/390 workloads, or for coupling facility functions.
The offering of a coupling facility partition on a machine typically reduces the number of processors available to run user workloads or to be activated as spares, in the event of a processor failure. This is due to the fact that in order to keep software licensing costs down, the processors configured for the coupling facility logical partition are usually dedicated to run only coupling facility microcode. Since these processors do not have user software loaded thereon, the user capacity of the machine is not increased, and neither is the software licensing cost, which is based on user capacity.
The dedicated coupling facility processors, however, only provide a fixed amount of processing capability for the coupling facility partition. Thus, there is a concern that the fixed CPU capacity of those processors may not be sufficient to handle peak workloads of the coupling facility running within the logical partition. In current configurations, this workload peak can be from a temporary spike in utilization due to, for instance, end of the month workloads, or due to a failure of another primary coupling facility. This capacity issue becomes an even larger concern with the current move towards integrating this technology more tightly into the parallel sysplex platform.
Based on the foregoing, a need exists for a capability that provides additional capacity to a coupling facility logical partition, when needed, without requiring another dedicated processor. A further need exists for a capability that can provide the above without requiring additional machines to service user workloads, thus, increasing the user""s costs. A yet further need exists for a capability that maximizes effective use of a customer""s hardware, while minimizing both hardware and software costs to the user, and providing dynamic rebalancing of resources to increase total system availability.
The shortcomings of the prior art are overcome and additional advantages are provided through the provision of a method of managing logical partitions. The method includes, for instance, using one or more dedicated logical processors to service one or more requests forwarded to a logical partition of a computer environment; and utilizing one or more shared logical processors to service one or more requests forwarded to the logical partition. The one or more dedicated logical processors includes one or more special purpose processors, and the one or more shared logical processors includes one or more general purpose processors.
In one embodiment, the one or more special purpose processors is incapable of running one or more types of software run on the one or more general purpose processors. In another embodiment, the special purpose processors executes coupling facility control code.
In yet a further embodiment of the invention, a first dispatching procedure is executed on the one or more dedicated logical processors, and a second dispatching procedure is executed on the one or more shared logical processors. The first dispatching procedure is different from the second dispatching procedure.
In another embodiment of the invention, the use of the one or more shared processors automatically increases as an arrival rate of incoming requests increases. Conversely, as the arrival rate decreases, the use of the one or more shared processors automatically decreases.
In another aspect of the present invention, a method of managing logical partitions is provided, in which one or more dedicated logical processors is used to service one or more requests forwarded to a logical partition of a computer environment; and one or more shared logical processors is used to service one or more requests forwarded to the logical partition. The one or more dedicated logical processors is executing a first dispatching procedure, while the one or more shared logical processors is executing a second dispatching procedure. The first dispatching procedure is different from the second dispatching procedure.
In one embodiment, the first dispatching procedure includes a straight polling procedure that is independent of an arrival rate of incoming requests, and the second dispatching procedure includes a dynamic polling procedure that is based on the arrival rate of the incoming requests.
In another aspect of the present invention, a system of managing logical partitions is provided. The system includes, for instance, one or more dedicated logical processors adapted to service one or more requests forwarded to a logical partition of a computer environment; and one or more shared logical processors adapted to service one or more requests forwarded to the logical partition. The one or more dedicated logical processors includes one or more special purpose processors, and the one or more shared logical processors includes one or more general purpose processors.
In another embodiment of the invention, a system of managing logical partitions is provided in which the system includes, for example, one or more dedicated logical processors adapted to service one or more requests forwarded to a logical partition of a computer environment; and one or more shared logical processors adapted to service one or more requests forwarded to the logical partition. The one or more dedicated logical processors is adapted to execute a first dispatching procedure, and the one or more shared logical processors is adapted to execute a second dispatching procedure, wherein the first dispatching procedure and the second dispatching procedure are different.
In yet another aspect of the present invention, at least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform a method of managing logical partitions, is provided. The method includes, for instance, using one or more dedicated logical processors to service one or more requests forwarded to a logical partition of a computer environment, in which the one or more dedicated logical processors includes one or more special purpose processors; and utilizing one or more shared logical processors to service one or more requests forwarded to the logical partition, in which the one or more shared logical processors includes one or more general purpose processors.
In another aspect of the present invention, an article of manufacture is provided that includes at least one computer usable medium having computer readable program code means embodied therein for causing the management of logical partitions. The computer readable program code means in the article of manufacture includes, for example, computer readable program code means for causing a computer to use one or more dedicated logical processors to service one or more requests forwarded to a logical partition of a computer environment, in which the one or more dedicated logical processors is executing a first dispatching procedure; and computer readable program code means for causing a computer to utilize one or more shared logical processors to service one or more requests forwarded to the logical partition, in which the one or more shared logical processors is executing a second dispatching procedure. The first dispatching procedure and the second dispatching procedure are different.
The logical partition management capability of the present invention advantageously provides additional capacity to a coupling facility logical partition, when needed, without requiring another dedicated processor. Further, the capability of the present invention provides the above advantage without requiring additional machines to service user workloads. Thus, user costs are kept down. Additionally, the logical partition management capability of the present invention maximizes effective use of a customer""s hardware, while minimizing both hardware and software costs to the user, and providing dynamic rebalancing of resources to increase total system availability.
Additional features and advantages are realized through the techniques of the present invention. Other embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed invention.